home *** CD-ROM | disk | FTP | other *** search
- #ifndef SHOWPATCH_H
- #define SHOWPATCH_H 1
-
- /*************************************************
- ** ShowPatch **
- ** **
- ** Zeige die Patches und die Patcher von **
- ** Saferpatches. **
- ** © 1994,97,99,2001 THOR-Software inc. **
- ** Version 2.23 vom 11.10.2001 **
- *************************************************/
-
- /*************************************************
- ** PatchPort **
- ** **
- ** Supervisor Port **
- *************************************************/
- struct PatchPort {
- struct MsgPort pp_Port; /* embedded port structure used for identification */
- UWORD pp_Flags; /* flags, see below */
- APTR pp_RemoveProc; /* not for public use */
- APTR pp_OldSetFunction; /* not for public use */
- struct MinList pp_PatchList; /* embedded patch list */
- struct SignalSemaphore pp_Semaphore; /* semaphore, not used */
- };
-
- #define PPF_REMEMBER (1<<0L)
-
- #define PATCHPORT_NAME "SaferPatches.rendezvous"
-
- /*************************************************
- ** LibPatchList **
- *************************************************/
- struct LibPatchList {
- struct LibPatchList *ll_next,*ll_pred; /* node fields */
- void *ll_Root; /* not used */
- struct Library *ll_LibBase; /* library of this node */
- struct MinList ll_PatchList; /* all patch nodes of this library */
- };
-
- /*************************************************
- ** LibPatchNode **
- *************************************************/
- struct LibPatchNode {
- struct LibPatchNode *ln_next,*ln_pred; /* node fields */
- struct LibPatchList *ln_Root; /* thread field */
- WORD ln_Offset; /* patched offset */
- WORD ln_reserved; /* not used */
- struct MinList ln_PatchList; /* all patch entries of this offset */
- };
-
- /*************************************************
- ** LibPatchEntry **
- *************************************************/
- struct LibPatchEntry {
- struct LibPatchEntry *le_next,*le_pred; /* node fields */
- struct LibPatchNode *le_Root; /* thread field */
- WORD le_Flags; /* Flags, see below */
- UWORD le_Jmp; /* 0x4ef9: JMP-instructions */
- void (*le_OldEntry)(); /* pointer to old function */
- void (*le_NewEntry)(); /* new entry */
- char *le_Patcher; /* name of patching process */
- void (*le_JumpBack)(); /* really old pointer */
-
- };
-
- #define LEF_REMOVED (1<<1L)
- #define LEF_DISABLED (1<<2L)
- #define LEF_SELECTED (1<<8L)
-
- #endif /* SHOWPATCH_H */
-
-